09. Solution: Boolean Expressions for Conditions
Quiz Solution: Evaluate composed boolean expressions
altitude < 1000 and speed > 100
altitude < 1000
is
False
, so we don't even need to check the second condition - the whole expression is
False
.
(propulsion == "Jet" or propulsion == "Turboprop") and speed < 300 and altitude > 20000
propulsion == "Jet"
is
False
, and
propulsion == "Turboprop"
is
False
, so the whole expression inside the parentheses is
False
. It is combined with the other expressions with
and
, so we don't even need to check these - the whole expression must be
False
because the first part is
False
.
not (speed > 400 and propulsion == "Propeller")
To work this one out, we need to look at the inside of the parentheses first, then apply
not
to that.
speed > 400
is False, and because we are using
and
this makes the whole of the expression inside the parentheses
False
. Applying
not
reverses this, so this expression is
True
.
(altitude > 500 and speed > 100) or not propulsion == "Propeller"
Let's start by looking inside the parentheses.
altitude > 500
is
True
, and
speed
is greater than
100
, so the expression inside the parenthesis is
True
. Whatever the value of the other expression, because they are connected by
or
, the whole expression will evaluate to
True
.
Quiz Solution: Using Truth Values of Objects
points = 174
points = 174 # use this input when submitting your answer
# set prize to default value of None
prize = None
# use the value of points to assign prize to the correct prize name
if points <= 50:
prize = "wooden rabbit"
elif 151 <= points <= 180:
prize = "wafer-thin mint"
elif points >= 181:
prize = "penguin"
# use the truth value of prize to assign result to the correct message
if prize:
result = "Congratulations! You won a {}!".format(prize)
else:
result = "Oh dear, no prize this time."
print(result)
Output
Congratulations! You won a wafer-thin mint!
We first set
prize
to
None
and then update it only if falls into a bracket that results in winning a prize. This is accomplished in the first
if
statement. We then use the truth value of
prize
to assign
result
to a message based on whether a prize was won.
Remember when
prize = "penguin"
, or any other non-empty string, then the
if prize
condition is True!